An important consideration for the architecture of a virtual datacenter includes the provisioning of virtual machines to the proper storage such that the storage meets certain service level agreements (SLAs) or other service goals. For example, storage may be selected based upon capacity, performance, availability, redundancy, etc. needed for a particular application running on the virtual machine. Another important consideration includes maximizing the availability of the services provided by the virtual machines. Availability solutions are designed improve the resiliency of local systems or entire sites. Disaster recovery is an availability solution for recovering all or a portion of a datacenter at a recovery site from replicated data. For example, a logical storage device within a protected datacenter site may be configured for active-passive replication to a recovery datacenter site. A disaster recovery tool may initiate recovery of all or a portion of the replicated data within the protected datacenter by making the recovery logical storage device active and registering all the virtual machines stored in the recovery logical storage device at the recovery datacenter.
Due to their separate knowledge domains, the tasks of configuring storage and replication are separate from the tasks for provisioning and maintaining individual virtual machines in a typical enterprise. A storage administrator typically handles the former while an application owner or virtual infrastructure user handles the latter. The execution of these tasks for each application typically follows a business workflow that includes the application owner requesting storage from the storage administrator that meets specific requirements. The storage administrator uses the specific requirements in the request to provision one or more storage devices with the corresponding capabilities. Information about the provisioned storage is given to the application owner who, in turn, provisions virtual machine(s) for the application(s) using the storage.
The selection of storage devices to meet SLAs may be decoupled from this application management workflow through the use of storage profiles. A storage profile abstracts a set of logical storage devices as a single entity providing specific storage capabilities. The set of logical storage devices backing each storage profile is elastic and fungible. As a result, an application owner is agnostic to the actual storage used and may simply select the storage profile that meets the application SLAs.
Disaster recovery planning, however, involves both recovering the replicated storage devices (e.g., for array-based replication) and the virtual machines residing on them. Disaster recovery is dependent upon the storage being replicated and otherwise configured for recovery within another site. Additionally, if the logical storage device(s) used by the corresponding virtual machine change, the corresponding disaster recovery plans need to be updated. As a result, storage administration tasks have not been decoupled from disaster recovery planning.